package com.unswift.annotation.api;

import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * 生成API文档的构造方法注解
 * @author unswift
 *
 */
@Documented
@Target({ElementType.CONSTRUCTOR})
@Retention(RetentionPolicy.RUNTIME)
public @interface ApiConstructor {

	/**
	 * 构造方法的描述
	 * @return
	 */
	String value();
	
	/**
	 * 构造方法的参数描述
	 * @return
	 */
	ApiField[] params() default {};
	
	/**
	 * 版本追加
	 * @return
	 */
	ApiVersionAdd[] versionAppend() default {};
	
	/**
	 * 作者，如果作者为空，则采用类Api注解的作者，Api注解没有则为空
	 * @return
	 */
	String author() default "";
	
	/**
	 * 开发日期，如果开发日期为空，则采用类Api注解的开发日期，Api注解没有则为空
	 * @return
	 */
	String date() default "";
}
